<?php
namespace Common\Common;
use Common\Common\Common;

class Log{
    static private $_table='Log';//前台日志表dm_log
    static private $_table2='AdminLog';//后台日志表dm_admin_log


    static private $_code_contentTPL=array(
        '100'=>'任务{$buzCode}发布成功!',//委托人发布任务
        '110'=>'任务{$buzCode}支付完成!',//委托人支付成功
        '200'=>'任务{$buzCode}分配成功!',//银行分配任务
        '210'=>'任务{$buzCode}初评通过!',//银行初评
        '219'=>'任务{$buzCode}初评被拒绝!',//银行初评拒绝
        '220'=>'任务{$buzCode}已被分配至{$assOrg}(评估机构)!',//银行发布任务
        '230'=>'任务{$buzCode}正在审批中!',//银行审批任务
        '298'=>'任务{$buzCode}被批准!',//银行批准
        '299'=>'任务{$buzCode}被拒绝!',//银行拒绝
        '300'=>'任务{$buzCode}(评估机构)分配成功!',//评估机构分配任务
        '310'=>'任务{$buzCode}完成勘察!',//评估机构勘察
        '320'=>'任务{$buzCode}完成报告!',//评估机构报告制作
        '330'=>'任务报告({$buzCode})审核通过!',//评估机构报告审核
        '390'=>'任务报告({$buzCode})盖章并上传银行!',//评估机构报告盖章并上传
        '410'=>'任务({$buzCode})进行系统重估!',//评估机构报告盖章并上传
        '420'=>'任务({$buzCode})进行内评!',//评估机构报告盖章并上传
        '430'=>'任务({$buzCode})进行外评!',//评估机构报告盖章并上传
    );

    /**
     * 前台操作日志
     * @param string $buzCode 业务编码
     * @param string $tmp_buzCode 临时业务编码
     * @param string $loan_id 贷款id
     * @param string $content 日志内容
     * @param string $code 操作分类编号
     */
    static public function write($loan_id,$code,$buzCode='',$tmp_buzCode='',$assOrg='',$content=''){
        if(empty($loan_id) || (empty($code)) || (empty($buzCode) && empty($tmp_buzCode)) || !array_key_exists($code, self::$_code_contentTPL)){
            return ;
        }
        if(empty($buzCode)){
            $buzCode=$tmp_buzCode;
        }
        if(empty($content)){
            $content=preg_replace('/{\$buzCode}/', $buzCode,self::$_code_contentTPL[$code]);
            $content=preg_replace('/{\$assOrg}/', $assOrg,$content);
        }
        // 获取用户信息
        $userInfo=session('user');
        // 前台日志信息
        $ip= new Common();
        $logData=array(
            'user_id'=>$userInfo['id'],
            'user_name'=>$userInfo['name'],
            'user_type'=>$userInfo['userType'],
            'user_role'=>$userInfo['role'],
            'buzCode'=>$buzCode,
            'content'=>$content,
            'code'=>$code,
            'create_time'=>date('Y-m-d H:i:s'),
            'ip'=>$ip->getClientIp()
        );
        M(self::$_table)->data($logData)->add();
    }

    /**
     * 后台操作日志
     * @param string $content 日志内容
     */
    static public function write2($content){
        if(empty($content)){
            return ;
        }
        // 获取用户信息
        $userInfo=session('user');
        // 后台日志信息
        $ip=new Common();
        $adminLogData=array(
            'admin_id'=>$userInfo['id'],
            'user_name'=>$userInfo['userName'],
            'content'=>$content,
            'create_time'=>date('Y-m-d H:i:s'),
            'ip'=>$ip->getClientIp()
        );
        M(self::$_table2)->data($adminLogData)->add();
    }
}

?>